home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / u_man / cat1 / X11 / xsm.z / xsm
Text File  |  1998-10-20  |  26KB  |  463 lines

  1.  
  2.  
  3.  
  4.      XXXXSSSSMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXSSSSMMMM((((1111))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           xsm - X Session Manager
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           xxxxssssmmmm [-display display] [-session sessionName] [-verbose]
  13.  
  14.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.           _x_s_m is a session manager.  A session is a group of
  16.           applications, each of which has a particular state.  _x_s_m
  17.           allows you to create arbitrary sessions - for example, you
  18.           might have a "light" session, a "development" session, or an
  19.           "xterminal" session.  Each session can have its own set of
  20.           applications.  Within a session, you can perform a
  21.           "checkpoint" to save application state, or a "shutdown" to
  22.           save state and exit the session.  When you log back in to
  23.           the system, you can load a specific session, and you can
  24.           delete sessions you no longer want to keep.
  25.  
  26.           Some session managers simply allow you to manually specify a
  27.           list of applications to be started in a session.  _x_s_m is
  28.           more powerful because it lets you run applications and have
  29.           them automatically become part of the session.  On a simple
  30.           level, _x_s_m is useful because it gives you this ability to
  31.           easily define which applications are in a session.  The true
  32.           power of _x_s_m, however, can be taken advantage of when more
  33.           and more applications learn to save and restore their state.
  34.  
  35.      OOOOPPPPTTTTIIIIOOOONNNNSSSS
  36.           ----ddddiiiissssppppllllaaaayyyy _d_i_s_p_l_a_y
  37.                   Causes _x_s_m to connect to the specified X display.
  38.  
  39.           ----sssseeeessssssssiiiioooonnnn _s_e_s_s_i_o_n_N_a_m_e
  40.                   Causes _x_s_m to load the specified session, bypassing
  41.                   the session menu.
  42.  
  43.           ----vvvveeeerrrrbbbboooosssseeee
  44.                   Turns on debugging information.
  45.  
  46.      SSSSEEEETTTTUUUUPPPP
  47.         ....xxxxsssseeeessssssssiiiioooonnnn ffffiiiilllleeee
  48.           Using _x_s_m requires a change to your ._x_s_e_s_s_i_o_n file:
  49.  
  50.           The last program executed by your ._x_s_e_s_s_i_o_n file should be
  51.           _x_s_m.  With this configuration, when the user chooses to shut
  52.           down the session using _x_s_m, the session will truly be over.
  53.  
  54.           Since the goal of the session manager is to restart clients
  55.           when logging into a session, your .xsession file, in
  56.           general, should not directly start up applications.  Rather,
  57.           the applications should be started within a session.  When
  58.           _x_s_m shuts down the session, _x_s_m will know to restart these
  59.           applications.  Note however that there are some types of
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 4/30/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXSSSSMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXSSSSMMMM((((1111))))
  71.  
  72.  
  73.  
  74.           applications that are not "session aware".  _x_s_m allows you
  75.           to manually add these applications to your session (see the
  76.           section titled _C_l_i_e_n_t _L_i_s_t).
  77.  
  78.         SSSSMMMM____SSSSAAAAVVVVEEEE____DDDDIIIIRRRR eeeennnnvvvviiiirrrroooonnnnmmmmeeeennnntttt vvvvaaaarrrriiiiaaaabbbblllleeee
  79.           If the _S_M__S_A_V_E__D_I_R environment variable is defined, _x_s_m will
  80.           save all configuration files in this directory.  Otherwise,
  81.           they will be stored in the user's home directory.  Session
  82.           aware applications are also encouraged to save their
  83.           checkpoint files in the _S_M__S_A_V_E__D_I_R directory, although the
  84.           user should not depend on this convention.
  85.  
  86.         DDDDeeeeffffaaaauuuulllltttt SSSSttttaaaarrrrttttuuuupppp AAAApppppppplllliiiiccccaaaattttiiiioooonnnnssss
  87.           The first time _x_s_m is started, it will need to locate a list
  88.           of applications to start up.  For example, this list might
  89.           include a window manager, a session management proxy, and an
  90.           xterm.  _x_s_m will first look for the file ._x_s_m_s_t_a_r_t_u_p in the
  91.           user's home directory.  If that file does not exists, it
  92.           will look for the _s_y_s_t_e_m._x_s_m file that was set up at
  93.           installation time.  Note that _x_s_m provides a "fail safe"
  94.           option when the user chooses a session to start up.  The
  95.           fail safe option simply loads the default applications
  96.           described above.
  97.  
  98.           Each line in the startup file should contain a command to
  99.           start an application.  A sample startup file might look
  100.           this:
  101.  
  102.           <start of file>
  103.           twm
  104.           smproxy
  105.           xterm
  106.           <end of file>
  107.  
  108.      SSSSTTTTAAAARRRRTTTTIIIINNNNGGGG AAAA SSSSEEEESSSSSSSSIIIIOOOONNNN
  109.           When _x_s_m starts up, it first checks to see if the user
  110.           previously saved any sessions.  If no saved sessions exist,
  111.           _x_s_m starts up a set of default applications (as described
  112.           above in the section titled _D_e_f_a_u_l_t _S_t_a_r_t_u_p _A_p_p_l_i_c_a_t_i_o_n_s).
  113.           If at least one session exists, a session menu is presented.
  114.           The [[[[----sssseeeessssssssiiiioooonnnn sssseeeessssssssiiiioooonnnnNNNNaaaammmmeeee]]]] option forces the specified
  115.           session to be loaded, bypassing the session menu.
  116.  
  117.         TTTThhhheeee sssseeeessssssssiiiioooonnnn mmmmeeeennnnuuuu
  118.           The session menu presents the user with a list of sessions
  119.           to choose from.  The user can change the currently selected
  120.           session with the mouse, or by using the up and down arrows
  121.           on the keyboard.  Note that sessions which are locked (i.e.
  122.           running on a different display) can not be loaded or
  123.           deleted.
  124.  
  125.           The following operations can be performed from the session
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 4/30/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXSSSSMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXSSSSMMMM((((1111))))
  137.  
  138.  
  139.  
  140.           menu:
  141.  
  142.           LLLLooooaaaadddd SSSSeeeessssssssiiiioooonnnn          Pressing this button will load the
  143.                                 currently selected session.
  144.                                 Alternatively, hitting the Return key
  145.                                 will also load the currently selected
  146.                                 session, or the user can double click
  147.                                 a session from the list.
  148.  
  149.           DDDDeeeelllleeeetttteeee SSSSeeeessssssssiiiioooonnnn        This operation will delete the
  150.                                 currently selected session, along with
  151.                                 all of the application checkpoint
  152.                                 files associated with the session.
  153.                                 After pressing this button, the user
  154.                                 will be asked to press the button a
  155.                                 second time in order to confirm the
  156.                                 operation.
  157.  
  158.           DDDDeeeeffffaaaauuuulllltttt////FFFFaaaaiiiillll SSSSaaaaffffeeee     _x_s_m will start up a set of default
  159.                                 applications (as described above in
  160.                                 the section titled _D_e_f_a_u_l_t _S_t_a_r_t_u_p
  161.                                 _A_p_p_l_i_c_a_t_i_o_n_s).  This is useful when
  162.                                 the user wants to start a fresh
  163.                                 session, or if the session
  164.                                 configuration files were corrupted and
  165.                                 the user wants a "fail safe" session.
  166.  
  167.           CCCCaaaannnncccceeeellll                Pressing this button will cause _x_s_m to
  168.                                 exit.  It can also be used to cancel a
  169.                                 "Delete Session" operation.
  170.  
  171.      CCCCOOOONNNNTTTTRRRROOOOLLLLLLLLIIIINNNNGGGG AAAA SSSSEEEESSSSSSSSIIIIOOOONNNN
  172.           After _x_s_m determines which session to load, it brings up its
  173.           main window, then starts up all applications that are part
  174.           of the session.  The title bar for the session manager's
  175.           main window will contain the name of the session that was
  176.           loaded.
  177.  
  178.           The following options are available from _x_s_m's main window:
  179.  
  180.           CCCClllliiiieeeennnntttt LLLLiiiisssstttt       Pressing this button brings up a window
  181.                             containing a list of all clients that are
  182.                             in the current session.  For each client,
  183.                             the host machine that the client is
  184.                             running on is presented.  As clients are
  185.                             added and removed from the session, this
  186.                             list is updated to reflect the changes.
  187.                             The user is able to control how these
  188.                             clients are restarted (see below).
  189.  
  190.                             By pressing the VVVViiiieeeewwww PPPPrrrrooooppppeeeerrrrttttiiiieeeessss button,
  191.                             the user can view the session management
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 4/30/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXSSSSMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXSSSSMMMM((((1111))))
  203.  
  204.  
  205.  
  206.                             properties associated with the currently
  207.                             selected client.
  208.  
  209.                             By pressing the CCCClllloooonnnneeee button, the user can
  210.                             start a copy of the selected application.
  211.  
  212.                             By pressing the KKKKiiiillllllll CCCClllliiiieeeennnntttt button, the
  213.                             user can remove a client from the session.
  214.  
  215.                             By selecting a restart hint from the
  216.                             RRRReeeessssttttaaaarrrrtttt HHHHiiiinnnntttt menu, the user can control
  217.                             the restarting of a client.  The following
  218.                             hints are available:
  219.  
  220.                             ---- The RRRReeeessssttttaaaarrrrtttt IIIIffff RRRRuuuunnnnnnnniiiinnnngggg hint indicates
  221.                             that the client should be restarted in the
  222.                             next session if it is connected to the
  223.                             session manager at the end of the current
  224.                             session.
  225.  
  226.                             ---- The RRRReeeessssttttaaaarrrrtttt AAAAnnnnyyyywwwwaaaayyyy hint indicates that
  227.                             the client should be restarted in the next
  228.                             session even if it exits before the
  229.                             current session is terminated.
  230.  
  231.                             ---- The RRRReeeessssttttaaaarrrrtttt IIIImmmmmmmmeeeeddddiiiiaaaatttteeeellllyyyy hint is similar
  232.                             to the RRRReeeessssttttaaaarrrrtttt AAAAnnnnyyyywwwwaaaayyyy hint, but in
  233.                             addition, the client is meant to run
  234.                             continuously.  If the client exits, the
  235.                             session manager will try to restart it in
  236.                             the current session.
  237.  
  238.                             ---- The RRRReeeessssttttaaaarrrrtttt NNNNeeeevvvveeeerrrr hint indicates that
  239.                             the client should not be restarted in the
  240.                             next session.
  241.  
  242.                             Note that all X applications may not be
  243.                             "session aware".  Applications that are
  244.                             not session aware are ones that do not
  245.                             support the X Session Management Protocol
  246.                             or they can not be detected by the Session
  247.                             Management Proxy (see the section titled
  248.                             _T_H_E _P_R_O_X_Y).  _x_s_m allows the user to
  249.                             manually add such applications to the
  250.                             session.  The bottom of the _C_l_i_e_n_t _L_i_s_t
  251.                             window contains a text entry field in
  252.                             which application commands can be typed
  253.                             in.  Each command should go on its own
  254.                             line.  This information will be saved with
  255.                             the session at checkpoint or shutdown
  256.                             time.  When the session is restarted, _x_s_m
  257.                             will restart these applications in
  258.  
  259.  
  260.  
  261.      Page 4                                          (printed 4/30/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXSSSSMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXSSSSMMMM((((1111))))
  269.  
  270.  
  271.  
  272.                             addition to the regular "session aware"
  273.                             applications.
  274.  
  275.                             Pressing the DDDDoooonnnneeee button removes the
  276.                             CCCClllliiiieeeennnntttt LLLLiiiisssstttt window.
  277.  
  278.           SSSSeeeessssssssiiiioooonnnn LLLLoooogggg............    The Session Log window presents useful
  279.                             information about the session.  For
  280.                             example, when a session is restarted, all
  281.                             of the restart commands will be displayed
  282.                             in the log window.
  283.  
  284.           CCCChhhheeeecccckkkkppppooooiiiinnnntttt        By performing a checkpoint, all
  285.                             applications that are in the session are
  286.                             asked to save their state.  Not every
  287.                             application will save its complete state,
  288.                             but at a minimum, the session manager is
  289.                             guaranteed that it will receive the
  290.                             command required to restart the
  291.                             application (along with all command line
  292.                             options).  A window manager participating
  293.                             in the session should guarantee that the
  294.                             applications will come back up with the
  295.                             same window configurations.
  296.  
  297.                             If the session being checkpointed was
  298.                             never assigned a name, the user will be
  299.                             required to specify a session name.
  300.                             Otherwise, the user can perform the
  301.                             checkpoint using the current session name,
  302.                             or a new session name can be specified.
  303.                             If the session name specified already
  304.                             exists, the user will be given the
  305.                             opportunity to specify a different name or
  306.                             to overwrite the already existing session.
  307.                             Note that a session which is locked can
  308.                             not be overwritten.
  309.  
  310.                             When performing a checkpoint, the user
  311.                             must specify a SSSSaaaavvvveeee TTTTyyyyppppeeee which informs the
  312.                             applications in the session how much state
  313.                             they should save.
  314.  
  315.                             The LLLLooooccccaaaallll type indicates that the
  316.                             application should save enough information
  317.                             to restore the state as seen by the user.
  318.                             It should not affect the state as seen by
  319.                             other users.  For example, an editor would
  320.                             create a temporary file containing the
  321.                             contents of its editing buffer, the
  322.                             location of the cursor, etc...
  323.  
  324.  
  325.  
  326.  
  327.      Page 5                                          (printed 4/30/98)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXXSSSSMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXSSSSMMMM((((1111))))
  335.  
  336.  
  337.  
  338.                             The GGGGlllloooobbbbaaaallll type indicates that the
  339.                             application should commit all of its data
  340.                             to permanent, globally accessible storage.
  341.                             For example, the editor would simply save
  342.                             the edited file.
  343.  
  344.                             The BBBBooootttthhhh type indicates that the
  345.                             application should do both of these.  For
  346.                             example, the editor would save the edited
  347.                             file, then create a temporary file with
  348.                             information such as the location of the
  349.                             cursor, etc...
  350.  
  351.                             In addition to the SSSSaaaavvvveeee TTTTyyyyppppeeee, the user
  352.                             must specify an IIIInnnntttteeeerrrraaaacccctttt SSSSttttyyyylllleeee.
  353.  
  354.                             The NNNNoooonnnneeee type indicates that the
  355.                             application should not interact with the
  356.                             user while saving state.
  357.  
  358.                             The EEEErrrrrrrroooorrrrssss type indicates that the
  359.                             application may interact with the user
  360.                             only if an error condition arises.
  361.  
  362.                             The AAAAnnnnyyyy type indicates that the
  363.                             application may interact with the user for
  364.                             any purpose.  Note that _x_s_m will only
  365.                             allow one application to interact with the
  366.                             user at a time.
  367.  
  368.  
  369.                             After the checkpoint is completed, _x_s_m
  370.                             will, if necessary, display a window
  371.                             containing the list of applications which
  372.                             did not report a successful save of state.
  373.  
  374.           SSSShhhhuuuuttttddddoooowwwwnnnn          A shutdown provides all of the options
  375.                             found in a checkpoint, but in addition,
  376.                             can cause the session to exit.  Note that
  377.                             if the interaction style is EEEErrrrrrrroooorrrrssss or AAAAnnnnyyyy,
  378.                             the user may cancel the shutdown.  The
  379.                             user may also cancel the shutdown if any
  380.                             of the applications report an unsuccessful
  381.                             save of state.
  382.  
  383.                             The user may choose to shutdown the
  384.                             session with our without performing a
  385.                             checkpoint.
  386.  
  387.      HHHHOOOOWWWW _X_S_M RRRREEEESSSSPPPPOOOONNNNDDDDSSSS TTTTOOOO SSSSIIIIGGGGNNNNAAAALLLLSSSS
  388.           _x_s_m will respond to a SIGTERM signal by performing a
  389.           shutdown with the following options: fast, no interaction,
  390.  
  391.  
  392.  
  393.      Page 6                                          (printed 4/30/98)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXXSSSSMMMM((((1111))))             XXXX VVVVeeeerrrrssssiiiioooonnnn 11111111 ((((RRRReeeelllleeeeaaaasssseeee 6666....3333))))              XXXXSSSSMMMM((((1111))))
  401.  
  402.  
  403.  
  404.           save type local.  This allows the user's session to be saved
  405.           when the system is being shutdown.  It can also be used to
  406.           perform a remote shutdown of a session.
  407.  
  408.           _x_s_m will respond to a SIGUSR1 signal by performing a
  409.           checkpoint with the following options: no interaction, save
  410.           type local.  This signal can be used to perform a remote
  411.           checkpoint of a session.
  412.  
  413.      TTTTHHHHEEEE PPPPRRRROOOOXXXXYYYY
  414.           Since not all applications have been ported to support the X
  415.           Session Management Protocol, a proxy service exists to allow
  416.           "old" clients to work with the session manager.  In order
  417.           for the proxy to detect an application joining a session,
  418.           one of the following must be true:
  419.  
  420.           - The application maps a top level window containing the
  421.           WWWWMMMM____CCCCLLLLIIIIEEEENNNNTTTT____LLLLEEEEAAAADDDDEEEERRRR property.  This property provides a pointer
  422.           to the client leader window which contains the WWWWMMMM____CCCCLLLLAAAASSSSSSSS,
  423.           WWWWMMMM____NNNNAAAAMMMMEEEE, WWWWMMMM____CCCCOOOOMMMMMMMMAAAANNNNDDDD, and WWWWMMMM____CCCCLLLLIIIIEEEENNNNTTTT____MMMMAAAACCCCHHHHIIIINNNNEEEE properties.
  424.  
  425.           or ...
  426.  
  427.           - The application maps a top level window which does not
  428.           contain the WWWWMMMM____CCCCLLLLIIIIEEEENNNNTTTT____LLLLEEEEAAAADDDDEEEERRRR property.  However, this top
  429.           level window contains the WWWWMMMM____CCCCLLLLAAAASSSSSSSS, WWWWMMMM____NNNNAAAAMMMMEEEE, WWWWMMMM____CCCCOOOOMMMMMMMMAAAANNNNDDDD, and
  430.           WWWWMMMM____CCCCLLLLIIIIEEEENNNNTTTT____MMMMAAAACCCCHHHHIIIINNNNEEEE properties.
  431.  
  432.           An application that support the WWWWMMMM____SSSSAAAAVVVVEEEE____YYYYOOOOUUUURRRRSSSSEEEELLLLFFFF protocol
  433.           will receive a WWWWMMMM____SSSSAAAAVVVVEEEE____YYYYOOOOUUUURRRRSSSSEEEELLLLFFFF client message each time the
  434.           session manager issues a checkpoint or shutdown.  This
  435.           allows the application to save state.  If an application
  436.           does not support the WWWWMMMM____SSSSAAAAVVVVEEEE____YYYYOOOOUUUURRRRSSSSEEEELLLLFFFF protocol, then the
  437.           proxy will provide enough information to the session manager
  438.           to restart the application (using WWWWMMMM____CCCCOOOOMMMMMMMMAAAANNNNDDDD), but no state
  439.           will be restored.
  440.  
  441.      RRRREEEEMMMMOOOOTTTTEEEE AAAAPPPPPPPPLLLLIIIICCCCAAAATTTTIIIIOOOONNNNSSSS
  442.           _x_s_m requires a remote execution protocol in order to restart
  443.           applications on remote machines.  Currently, _x_s_m supports
  444.           the _r_s_t_a_r_t protocol.  In order to restart an application on
  445.           remote machine XXXX, machine XXXX must have _r_s_t_a_r_t installed.  In
  446.           the future, additional remote execution protocols may be
  447.           supported.
  448.  
  449.      SSSSEEEEEEEE AAAALLLLSSSSOOOO
  450.           smproxy(1), rstart(1)
  451.  
  452.      AAAAUUUUTTTTHHHHOOOORRRRSSSS
  453.           Ralph Mor, X Consortium
  454.           Jordan Brown, Quarterdeck Office Systems
  455.  
  456.  
  457.  
  458.  
  459.      Page 7                                          (printed 4/30/98)
  460.  
  461.  
  462.  
  463.